package com.pgytesting.secondhandcar.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

import java.io.Serializable;

/**
 * 用户信息(McpUserInfo)实体类
 *
 * @author makejava
 * @since 2019-08-12 18:55:58
 */

/**
 *
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)   // 注解对对象空值进行json互转时的null值进行移除
public class McpUserInfo implements Serializable {
    /**
     * 关联账号ID
     */
    private String userNumber;
    /**
     * 用户名称
     */
    private String userName;
    /**
     * 用户密码 6-20位密码
     */
    @NotBlank(message = "密码不能为空")
    @Length(min = 6, max = 20, message = "密码长度8至32个字符")
    private String password;
    /**
     * 手机号
     */
//    @NotBlank(message = "手机号不能为空")
//    @Length(min = 11, max = 11, message = "请输入正确的手机号")
    @Pattern(regexp = "^[1][3-9][0-9]{9}$",message = "请输入正确的手机号")
    private String phoneNumber;
    // 短信验证码
    private String smsCode;
    //身份证号
    private String identificationNumber;
    //身份证正面
    private String idCardFacade;
    //身份证反面
    private String idCardNegative;
    //银行卡
    private String bankCardNumber;
    // 银行卡归属名称
    private String bankCardName;
    //角色id
    private Integer roleId;
    //创建人
    private String createdBy;
    //创建时间
    private Long createdTime;
    //更新人
    private String updatedBy;
    //更新时间
    private Long updatedTime;
    //状态 -1为删除或者异常，默认为0
    private Integer status;

    //用,分割的关联账号id集合
    private String userNumbers;
    //车商邀请码 6位随机数
    private String carDealerInvitationCode;
}